<!DOCTYPE html>

<html>
    <head>
        <meta charset="UTF-8">
        <title>Comparaison CSV avec BDD</title>
    </head>
    <body>

<?php

 echo "La BdD : "; ////////////OUVERTURE ET COMPARAISON DONNEES CSV ET CONTENU BDD/////////////////////
 
        $tableaucsv_serial_slash = $_POST['transfert'];
        var_dump($tableaucsv_serial_slash);
        $tableaucsv_serial_deslash = htmlspecialchars_decode($tableaucsv_serial_slash);
        var_dump($tableaucsv_serial_deslash);
        $tableaucsv = unserialize($tableaucsv_serial_deslash);
		
        $groupe = $_POST['groupe'];
		echo "<br>Le groupe est : $groupe<br>";
//        var_dump($tableaucsv);
        
        require_once './fonctions.php'; // les fonctions create, ignore, update, delete sont ds une autre page php 
        
        $dsn = "mysql:host=localhost;dbname=beaufrene"; /// ouverture BdD
        $username = "root";
        $passwd = "root";

        try {
            $pdo = new PDO($dsn, $username, $passwd, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));  /// utilisation d'une classe PDO
            echo "<br>Pas d'erreur BdD apparemment <br>";
        } catch (PDOException $ex) {
            echo "Erreur connexion BdD <br>";
        }

        
//        Faire ici test si Eleves ou Profs
         

        $sql1 = "SELECT * FROM Professeurs";  /// recup tous les champs et enregistrements de la table Eleves
        $req1 = $pdo->query($sql1);
        
        echo "<h3>La base de données</h3>";
                
        $enreg_bdd = 1;
        while ($result1 = $req1->fetch()) { // boucle tableau BDD jusqu'au bout de la table
                            
            $enreg_csv = 1;
            echo "<br><br> >> $enreg_bdd >>";
            while ($enreg_csv <= sizeof($tableaucsv)) { // boucle tableau CSV jusqu'au bout du tableaucsv
                if ($result1['code_prof'] === $tableaucsv[$enreg_csv][0]) { /// si un code prof de la BDD correspond à un code prof du CSV
                    echo "<b>A la ligne $enreg_bdd de la BdD, le code prof " . $result1['code_prof'];
                    echo " correspond au code prof " . $tableaucsv[$enreg_csv][0] . " à la ligne $enreg_csv du CSV</b><br>";

                    if (
                            $result1['nom_prof'] == $tableaucsv[$enreg_csv][1]  /// et si les champs de ce prof correspondent tous à ceux du CSV
                            && $result1['prenom_prof'] == $tableaucsv[$enreg_csv][2] 
                            && $result1['genre_prof'] == $tableaucsv[$enreg_csv][3] 
//                            && $result1['date_naissance_prof'] == $tableaucsv[$enreg_csv][5] 
//                            && $result1['id_classe'] == $tableaucsv[$enreg_csv][6] 
                    ) {
                        ignore_enreg($result1, $tableaucsv, $enreg_csv); /// alors IGNORE : on ne touche à rien

                    } else {
                        update_enreg($result1, $tableaucsv, $enreg_csv); /// sinon UPDATE : on met à jour les champs

                    }
                    
                    break; /// on sort de la boucle CSV puisqu'on a déjà trouvé un prof correspondant dans la BDD et le CSV 
                }
                $enreg_csv++; /// sinon on continue à chercher dans l'enregistrement CSV suivant
            } // fin boucle while tableau CSV
            $enreg_bdd++; /// on continue et on lit toute la table Prof de la BDD
                                   
            if ($enreg_csv > sizeof($tableaucsv)) { /// si l'index nombre d'enregistrement a depassé le nombre d'article
                echo "<b>Le code prof " . $result1['code_prof'] . " de la BdD"; /// dans le table CSV, c'est qu'on n'a pas trouvé
                echo " ne correspond à aucun code prof du CSV</b><br>"; ///  de prof dans la BDD correspondant au CSV
                delete_enreg($result1); /// alors DELETE : on efface l'enregistrement de ce prof ds la BDD
            }
        } // fin boucle tableau BDD
		
        echo "<br><h2> Pour les CREATE </h2>";

        // Pour le CREATE, on lit tous les enreg du CSV et on verifie s'ils existent dejà dans la BDD
        
        $sql_c = "SELECT count(*) AS total_c FROM Professeurs";  /// compte le nombre d'enregistrements de la table Eleves
        $req_c = $pdo->query($sql_c);
        $result_c = $req_c->fetch();
        
        $enreg_csv=1;
        $enreg_bdd2=1;
        while ($enreg_csv <= sizeof($tableaucsv)) { // boucle tableau CSV
            $req2 = $pdo->query($sql1); // on refait la requete recup champs et enreg de la table Professeurs
            
            echo "<br><br> >> $enreg_csv >>";
            while ($result2 = $req2->fetch()) { // boucle tableau BDD               
                
                if ($result2['code_prof'] == $tableaucsv[$enreg_csv][0]) { // si le code_prof de la BDD et du CSV correspondent
                    echo "<br>";
                    break;  // on ne fait rien, on sort de la boucle et on ira au prochaine enregistrement du CSV
//                } else {
//                    echo "code CSV et code BDD differents<br>";
                }
                $enreg_bdd2++; // enreg BDD suivant
                
                
                if ($enreg_bdd2 > $result_c['total_c']) { /// si l'index a dépassé le nb d'enreg de la BDD, c'est que
                    echo "<b>Le code prof " . $tableaucsv[$enreg_csv][0] . " du CSV"; // ce code_prof n'y est pas : on le crée
                    echo " ne correspond à aucun code prof de la BDD</b><br>";
                    create_enreg($tableaucsv, $enreg_csv); // alors CREATE : on cree l'enreg dans la BDD
                }                
            }
            $enreg_bdd2 = 1; // on recommencera à partir du 1er enregistrement de la BDD
            $enreg_csv++; // enregistrement suivant dans le tableaucsv
        }    
                
        $prepaXML_serial_slash = "preparation tableau pour generer le XML";
        
?>
                   
        <form method="POST" action="generXML.php">
            <input type="hidden" name="generer" id="generer" value="<?php echo $prepaXML_serial_slash?>">
            <button type="submit">Générer le XML</button>
        </form>             
            
    </body>
</html>
